class String
    def to_boolean
        return true if self == true || self =~ (/(true|t|yes|y|1)$/i)
        return false if self == false || self.nil? || self =~ (/(false|f|no|n|0)$/i)
        raise ArgumentError.new("invalid value for Boolean: \"#{self}\"")
    end
end